// index.js

Page({
  data: {
    stepCount: 0, // 累计步数
    todaySteps: 0, // 今日步数
    stepLoading: false, // 步数加载状态
    stepUpdateTime: '', // 步数更新时间
    autoRefreshTimer: null // 自动刷新定时器
  },

  onLoad: function (options) {
    // 获取微信运动步数
    this.getWeChatSteps();
  },

  onShow: function () {
    // 获取微信运动步数
    this.getWeChatSteps();
    
    // 启动自动刷新步数
    this.startAutoRefresh();
  },

  onHide: function () {
    // 页面隐藏时停止自动刷新
    this.stopAutoRefresh();
  },

  onUnload: function () {
    // 页面卸载时停止自动刷新
    this.stopAutoRefresh();
  },



  // 跳转到长征地图
  goToMap: function () {
    wx.switchTab({
      url: '/pages/example/index'
    });
  },

  // 跳转到视频代言
  goToVideo: function () {
    wx.switchTab({
      url: '/pages/video/index'
    });
  },

  // 跳转到步数测算
  goToCalculate: function () {
    wx.switchTab({
      url: '/pages/calculate/index'
    });
  },

  // 获取微信运动步数 - 使用统一管理器
  getWeChatSteps: function () {
    this.setData({ stepLoading: true });
    
    // 引入统一步数管理器
    const stepManager = require('../../utils/stepManager');
    
    // 使用统一步数管理器获取数据
    stepManager.getUnifiedStepData()
      .then(unifiedData => {
        console.log('获取统一步数数据成功:', unifiedData);
        
        this.setData({ 
          stepCount: unifiedData.totalSteps, // 显示累计步数
          todaySteps: unifiedData.todaySteps, // 保存今日步数
          stepLoading: false,
          stepUpdateTime: unifiedData.updateTime
        });
        
        console.log('首页步数更新完成 - 累计:', unifiedData.totalSteps, '今日:', unifiedData.todaySteps);
        
      })
      .catch(error => {
        console.error('获取统一步数数据失败:', error);
        this.setData({ 
          stepCount: 0,
          todaySteps: 0,
          stepLoading: false
        });
        
        // 不显示错误提示，避免干扰用户体验
        console.log('首页步数获取失败，使用默认值0');
      });
  },

  // 启动自动刷新步数
  startAutoRefresh: function () {
    // 清除之前的定时器
    this.stopAutoRefresh();
    
    // 每30秒刷新一次步数
    this.data.autoRefreshTimer = setInterval(() => {
      if (!this.data.stepLoading) {
        this.getRealtimeSteps();
      }
    }, 30000);
  },

  // 停止自动刷新
  stopAutoRefresh: function () {
    if (this.data.autoRefreshTimer) {
      clearInterval(this.data.autoRefreshTimer);
      this.setData({
        autoRefreshTimer: null
      });
    }
  },

  // 获取实时步数
  getRealtimeSteps: function () {
    // 引入统一步数管理器
    const stepManager = require('../../utils/stepManager');
    
    // 使用实时统一步数功能
    stepManager.getRealtimeUnifiedStepData()
      .then(unifiedData => {
        this.setData({ 
          stepCount: unifiedData.totalSteps, // 显示累计步数
          todaySteps: unifiedData.todaySteps, // 保存今日步数
          stepUpdateTime: unifiedData.updateTime
        });
        
        console.log('实时步数更新 - 累计:', unifiedData.totalSteps, '今日:', unifiedData.todaySteps);
      })
      .catch(error => {
        console.error('获取实时统一步数失败:', error);
      });
  },

  // 点击步数统计
  onStepCounterTap: function () {
    if (this.data.stepLoading) {
      wx.showToast({
        title: '步数加载中...',
        icon: 'none'
      });
      return;
    }
    
    const updateTime = this.data.stepUpdateTime || '未知';
    wx.showModal({
      title: '步数信息',
      content: `累计步数：${this.data.stepCount} 步\n今日步数：${this.data.todaySteps} 步\n更新时间：${updateTime}\n\n✨ 步数每30秒自动更新\n点击确定立即刷新`,
      success: (res) => {
        if (res.confirm) {
          this.getWeChatSteps();
        }
      }
    });
  }
});
